home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / full / jbuild / setup / JBuilder / jsamples.z / Heap1.java < prev    next >
Encoding:
Java Source  |  1997-08-11  |  1.3 KB  |  48 lines

  1. // Copyright(c) 1996,1997 ObjectSpace, Inc.
  2.  
  3. import COM.objectspace.jgl.*;
  4.  
  5. /**
  6.  * Making a heap, pushing and popping elements, sorting a heap.
  7.  *
  8.  * @see COM.objectspace.jgl.Heap
  9.  * @version 2.0.2
  10.  * @author ObjectSpace, Inc.
  11.  */
  12.  
  13. public class Heap1
  14.   {
  15.   public static void main( String[] args )
  16.     {
  17.     Deque deque = new Deque();
  18.     deque.add( "bat" );
  19.     deque.add( "ape" );
  20.     deque.add( "fox" );
  21.     deque.add( "cat" );
  22.     BinaryPredicate comparator = new LessString();
  23.     Heap.makeHeap( deque.begin(), deque.end(), comparator );
  24.     deque.add( "dog" );
  25.     Heap.pushHeap( deque.begin(), deque.end(), comparator );
  26.     deque.add( "emu" );
  27.     Heap.pushHeap( deque.begin(), deque.end(), comparator );
  28.     while ( !deque.isEmpty() )
  29.       {
  30.       System.out.println( deque.front() );
  31.       Heap.popHeap( deque.begin(), deque.end(), comparator );
  32.       deque.popBack();
  33.       }
  34.  
  35.     Array vector = new Array();
  36.     vector.add( "bat" );
  37.     vector.add( "ape" );
  38.     vector.add( "fox" );
  39.     vector.add( "cat" );
  40.     vector.add( "dog" );
  41.     vector.add( "emu" );
  42.     System.out.println( "unsorted vector = " + vector );
  43.     Heap.makeHeap( vector.begin(), vector.end(), comparator );
  44.     Heap.sortHeap( vector.begin(), vector.end(), comparator );
  45.     System.out.println( "sorted vector = " + vector );
  46.     }
  47.   }
  48.